﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using Volo.Abp.Domain.Repositories;

namespace mozhi.smarterp.BasicData.Employees.Repositories
{
    public interface IEmployeeRepository : IRepository<Employee, Guid>
    {
        Task<int> GetCountAsync(string code, Guid? excludeId, CancellationToken cancellationToken = default(CancellationToken));

        Task<List<Employee>> GetPagedListAsync(string keyword , bool? activated , Guid? departmentId , int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default(CancellationToken));

        Task<int> GetCountAsync(string keyword, bool? activated, Guid? departmentId, CancellationToken cancellationToken = default(CancellationToken));
    }
}
